home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 1996 May & June / Amiga-CD 1996 #5-6.iso / kommunikation / aweb / install < prev    next >
Text File  |  1996-03-22  |  14KB  |  379 lines

  1. ; $VER: Install_AWeb 1.0 (14.03.96)
  2. ; Description: Installer script for AWeb
  3.  
  4. (set cpu (database "cpu"))
  5. (set cpu020 (and (<> cpu "68000") (<> cpu "68010")))
  6. (set v39 (>= (/ (getversion "exec.library" (resident)) 65536) 39))
  7.  
  8. (set awn (getversion "AWeb"))
  9. (set awv (/ awn 65536))
  10. (set awr (- awn (* awv 65536)))
  11.  
  12. ; all strings used in this installer script
  13. (set #need39 "This program requires OS 3.0 or later to function.")
  14. (set #nohelp "No help available.")
  15. (set #welcome
  16.    (cat "AWeb is a fast, multithreaded World Wide Web browser for Amiga OS 3.0.\nAWeb doesn't use MUI.\nIt runs with either AmiTCP/IP, I-Net225 or AS-225.\nAWeb can read your old AMosaic or IBrowse hotlists.\nIt has an ARexx and Shell command interface."
  17.       ("\n\nThis installation procedure will install the AWeb browser version %ld.%ld and the necessary ClassAct gadget classes on your system.\n" awv awr)
  18.       "It will not overwrite your existing preferences"
  19.    )
  20. )
  21. (set #destdir-prompt "Please select the directory where you want AWeb installed.\n(If you do not accept the default, a directory 'AWeb' will be created there.)")
  22. (set #destdir-help "A directory for AWeb will be created here. By accepting the default directory, most of the files don't have to be copied.")
  23. (set #installing "Installing ")
  24. (set #icons-prompt "Please select what icon you want to install")
  25. (set #icons-help "The archive is shipped with three different icons for the AWeb program.\nIcons for the standard Workbench, for Magic WB and for NewIcon are included.\n\nPlease select which of these icons you want to be installed.")
  26. (set #icons-message "You may have to edit the AWeb icon by hand afterwards. The little square in the unselected image should be red. Because you may have another Workbench palette installed than the default, the square may be in the wrong colour. You can use an icon editor to correct it.")
  27. (set #memory-prompt "Is your Amiga equipped with more than 2MB of memory?")
  28. (set #memory-help "AWeb runs perfectly on a 2MB Amiga, but needs a special setup on such a machine. If you click the 'only 2MB' button, the appropriate settings will be installed.\n\nYou can always change the settings after installation.")
  29. (set #fonts-prompt "Do you want to use small or large fonts for your browser window?\nSmall fonts are based on times.font/13,\nlarge fonts are based on times.font/15 with larger headings than the small font.")
  30. (set #fonts-help "If you choose 'large fonts', settings will be installed that make AWeb look as closely to the standard NetScape setup as possible, using standard Workbench fonts.\n\nIf you plan to run AWeb on a small screen (less than 640 x 400), you might want to select 'small fonts' to make the pages readable.\n\nYou can always change the settings after installation.")
  31.  
  32. (set #readme "Displaying the version notes readme...")
  33. (set #bye "In case you need help configuring or using AWeb, pressing the HELP key when AWeb is active will bring up the documentation.\nI hope you will enjoy using AWeb.\n\nIf you like AWeb, please consider to register it to support continued development.")
  34.  
  35. (set #contrib "In the 'Contrib' directory of the installation archive, you can find several utilities that could prove useful with Voodoo.\n\nNext you will have a chance to install some of these utilities.\n\nBefore deleting this directory after installation, please take a closer look at what else is available in the 'Contrib' dir.")
  36. (set #contrib-obtaingir "Would you like to install NewObtainGIRPort?\n\nThis small program patches the ObtainGIRPort() function of intuition.library to avoid deadlock situations in complex BOOPSI gadgets.")
  37. (set #obtaingir-startup "Adding NewObtainGIRPort to system startup files")
  38.  
  39. ; ---------------------------------------------------------------------------
  40.  
  41. ; ************* PLEASE COPY THIS PROCEDURE ALONG WITH THE STRINGS IT USES 
  42. ; ************* TO THE INSTALLER SCRIPT OF YOUR CLASSACT APPLICATION.
  43. ; ************* IT WILL TAKE CARE OF INSTALLING THE CLASSACT CLASSES YOU
  44. ; ************* PROVIDED WITH YOUR APPLICATION TO THE USER'S SYSTEM.
  45.  
  46. ; ClassAct installation procedure V 1.4 (23.12.95) by Osma Ahvenlampi
  47.  
  48. ; percentage of the size of included ClassAct classes versus the whole
  49. ; distribution (ie. total "complete" percentage after ClassAct is installed)
  50. (set classact-complete 50)
  51.  
  52. ; ClassAct installer scripts
  53. (set #classdest-prompt "Please select the directory where you want the ClassAct classes installed.\n(See help for details)")
  54. (set #classdest-help (cat "ClassAct is a GUI toolkit consisting of shared BOOPSI classes.\n\nThis player requires some of the ClassAct classes installed on your system. "
  55.     (if v39 (cat "OS 3.0 has a standard directory for BOOPSI classes, the SYS:Classes directory. It is recommended that you install ClassAct there.")
  56.             (cat "OS 2.0 does not have a standard place for disk resident BOOPSI classes. On OS 3.0 these classes are stored in the SYS:Classes directory. It is recommended that you create this directory and install ClassAct there.\nThis directory must be added in the LIBS: assign. This can be done by placing the command\nAssign >NIL: LIBS: SYS:Classes ADD\nto User-Startup. This installer will do this for you.")
  57.         )
  58.     )
  59. )
  60. (set #classes-020 "Do you want to use the OS 3.0, 020 optimised version of ClassAct?")
  61. (set #help-020 "Some ClassAct libraries have versions optimised for use on 020 or better equipped OS 3.0 or later machines. If your Amiga is such equipped, you should install these. The 68000/2.0 versions will also work, but are slightly slower.")
  62. (set #noclasses-message "The directory you selected for your ClassAct classes is not a part of the LIBS: assign.\n\nIt is necessary to add this assign so that the classes will be found properly.")
  63. (set #creating-dir "Creating directory ")
  64. (set #usbackup-prompt "User-Startup will now be backed up.")
  65. (set #usbackup-help "This installer will next make a modification in User-Startup. Before doing this the old User-Startup will be backed up to S:User-Startup.old")
  66. (set #adding-1 "Adding ")
  67. (set #adding-2 " to LIBS: assign\n")
  68. (set #adding-help "This is necessary so that the custom classes can be found.")
  69. (set #junod-button "It seems you have a late Commodore 'V42' button.gadget installed on your system.\n\nClassAct's button.gadget is far more capable than this gadget, and we recommend that you replace it. The ClassAct button.gadget is backwards compatible to the Commodore gadget. Do you wish to back up the Commodore gadget and replace it with the ClassAct version?")
  70. (set #junod-backed "The Commodore 'V42' button.gadget has been backed up with the name button.gadget.v42.\n\nThe ClassAct button.gadget will be installed in its place.")
  71. (set #junod-kept "The Commodore 'V42' button.gadget was not replaced with the more capable ClassAct version.\n\nPrograms depending on the availability of ClassAct-only features will be likely to work wrong.")
  72.  
  73. (procedure install-classact
  74. ; call this procedure to copy the classes included in the Classes directory
  75. ; in your distribution dir.
  76.     (if (exists "Classes") ; The archive contains a ClassAct library update.
  77.     (
  78.         (set comp-dest  (/ (* classact-complete 2) 10))
  79.         (set comp-libs  (/ (* classact-complete 3) 10))
  80.         (set comp-dirs  (/ (* classact-complete 4) 10))
  81.         (set comp-junod (/ (* classact-complete 5) 10))
  82.         (set comp-020   (/ (* classact-complete 6) 10))
  83.         (set comp-gad   (/ (* classact-complete 8) 10))
  84.         (set comp-im    (/ (* classact-complete 9) 10))
  85.     
  86.         ; has the user installed ClassAct in CLASSACT: ?
  87.         (set @classact-dest (getassign "CLASSACT" "A"))
  88.         (if (= @classact-dest "") (set @classact-dest "SYS:Classes"))
  89.         
  90.         ; is ClassAct already in SYS:Classes ?
  91.         (if (or (not (exists (tackon @classact-dest "Gadgets/layout.gadget") (noreq)))
  92.                 (= @user-level 2))
  93.             ; no, ask where it should be placed
  94.             (set @classact-dest
  95.                 (askdir
  96.                     (prompt #classdest-prompt)
  97.                     (help #classdest-help)
  98.                     (default @classact-dest)
  99.                     (newpath)
  100.                 )
  101.             )
  102.         )
  103.         
  104.         (complete comp-dest)
  105.         
  106.         (if (<> (run (cat "C/CheckAssign LIBS: " @classact-dest)) 0)
  107.             (
  108.                 (message #noclasses-message)
  109.                 (if (not (exists @classact-dest))
  110.                     (makedir @classact-dest (prompt (cat #creating-dir @classact-dest)))
  111.                 )
  112.                 (set @addassign (cat "Assign >NIL: LIBS: " @classact-dest " ADD\n"))
  113.                 (startup "CLASSACT"
  114.                     (command @addassign)
  115.                     (prompt (cat #adding-1 @classact-dest #adding-2))
  116.                     (help #adding-help)
  117.                 )
  118.                 (run (@addassign))
  119.             )
  120.         )
  121.         
  122.         (complete comp-libs)
  123.         
  124.         (set @classact-gadgets (tackon @classact-dest "Gadgets"))
  125.         (set @classact-images (tackon @classact-dest "Images"))
  126.         
  127.         (if (not (exists @classact-gadgets (noreq)))
  128.             (makedir @classact-images
  129.                 (prompt (cat #creating-dir @classact-gadgets))
  130.             )
  131.         )
  132.         
  133.         (if (not (exists @classact-images (noreq)))
  134.             (makedir @classact-images
  135.                 (prompt (cat #creating-dir @classact-images))
  136.             )
  137.         )
  138.         
  139.         (complete comp-dirs)
  140.         
  141.         (if (exists "SYS:Classes/Gadgets/button.gadget")
  142.             (if (< 40 (/ (getversion "SYS:Classes/Gadgets/button.gadget") 65536))
  143.                 (if (askbool (prompt #junod-button) (help @askbool-help) (default 1))
  144.                     (
  145.                         (rename "SYS:Classes/Gadgets/button.gadget" "SYS:Classes/Gadgets/button.gadget.v42")
  146.                         (message #junod-backed)
  147.                     )
  148.                     (message #junod-kept)
  149.                 )
  150.             )
  151.         )
  152.         
  153.         (complete comp-junod)
  154.         
  155.         (if (exists "Classes/Gadgets/layout.gadget.020")
  156.             (set classes-020 (askbool (prompt #classes-020) (help #help-020) (default (and cpu020 v39))))
  157.             (set classes-020 0)
  158.         )
  159.  
  160.         (complete comp-020)
  161.         
  162.         (foreach "Classes/Gadgets" "#?.gadget"
  163.             (
  164.                 (set thislib (tackon "Classes/Gadgets" @each-name))
  165.                 (if (and classes-020 (exists (cat thislib ".020")))
  166.                     (set thislib (cat thislib ".020"))
  167.                 )
  168.                 (copylib (source thislib)
  169.                     (dest @classact-gadgets)
  170.                     (newname @each-name)
  171.                     (prompt (cat #installing @each-name))
  172.                     (help #classdest-help)
  173.                     (optional "force" "askuser")
  174.                 )
  175.             )
  176.         )
  177.         
  178.         (complete comp-gad)
  179.         
  180.         (foreach "Classes/Images" "#?.image"
  181.             (
  182.                 (set thislib (tackon "Classes/Images" @each-name))
  183.                 (if (and classes-020 (exists (cat thislib ".020")))
  184.                     (set thislib (cat thislib ".020"))
  185.                 )
  186.                 (copylib (source thislib)
  187.                     (dest @classact-images)
  188.                     (newname @each-name)
  189.                     (prompt (cat #installing @each-name))
  190.                     (help #classdest-help)
  191.                     (optional "force" "askuser")
  192.                 )
  193.             )
  194.         )
  195.         
  196.         (complete comp-im)
  197.  
  198.         (foreach "Classes" "#?.class"
  199.             (
  200.                 (set thislib (tackon "Classes" @each-name))
  201.                 (if (and classes-020 (exists (cat thislib ".020")))
  202.                     (set thislib (cat thislib ".020"))
  203.                 )
  204.                 (copylib (source thislib)
  205.                     (dest @classact-dest)
  206.                     (newname @each-name)
  207.                     (prompt (cat #installing @each-name))
  208.                     (help #classdest-help)
  209.                     (optional "force" "askuser")
  210.                 )
  211.             )
  212.         )
  213.  
  214.         (complete classact-complete)
  215.     )
  216.     )
  217. )
  218.  
  219. ; ************** END OF CLASSACT INSTALL PROCEDURE. COPY THE BLOCK ABOVE
  220. ; ************** TO YOUR CLASSACT APPLICATION INSTALLER.
  221.  
  222. ; ---------------------------------------------------------------------------
  223.  
  224. (complete 0)
  225.  
  226. (if (not v39)
  227.    (abort #need39)
  228. )
  229.  
  230. (message #welcome)
  231.  
  232. (set @source-dir (pathonly @icon))
  233.  
  234. (set defdir
  235.     (askdir
  236.         (prompt #destdir-prompt)
  237.         (help #destdir-help)
  238.         (default @source-dir)
  239.     )
  240. )
  241. (set @default-dest defdir)
  242.  
  243. (set nocopy (= @source-dir @default-dest))
  244.  
  245. (install-classact)
  246.  
  247. (if (not nocopy)
  248.     (
  249.     (set @default-dest (tackon @default-dest "AWeb"))
  250.     
  251.     (set update-aweb (exists @default-dest))
  252.     
  253.     (if (not update-aweb)
  254.         (makedir @default-dest 
  255.             (prompt #creating-dir @default-dest) 
  256.             (infos)
  257.         )
  258.     )
  259.         
  260.     (copyfiles
  261.         (source "")
  262.         (dest @default-dest)
  263.        (choices "AWeb" "ReadMe" "Docs" "Icons")
  264.         (prompt #installing "AWeb")
  265.         (infos)
  266.     )
  267.  
  268.     )
  269. )
  270.  
  271. (complete 70)
  272.  
  273. (set #icontype
  274.    (askchoice
  275.       (prompt #icons-prompt)
  276.       (choices
  277.          "Standard"
  278.          "Magic WB"
  279.          "NewIcon"
  280.       )
  281.       (help #icons-help)
  282.    )
  283. )
  284.  
  285. (copyfiles
  286.    (source
  287.       (select #icontype
  288.          "Icons/AWeb.info"
  289.          "Icons/AWeb_MagicWB.info"
  290.          "Icons/AWeb_NewIcon.info"
  291.       )
  292.    )
  293.    (dest @default-dest)
  294.    (newname "AWeb.info")
  295.    (infos)
  296. )
  297.  
  298. (if (= #icontype 0)
  299.    (message #icons-message)
  300. )
  301.  
  302. (complete 80)
  303.  
  304. (if (not (exists (tackon @default-dest "AWeb.prefs")))
  305.    (if (exists "AWeb.prefs")
  306.       (copyfiles
  307.          (source "AWeb.prefs")
  308.          (dest @default-dest)
  309.       )
  310.       (  (set #memory
  311.             (askbool
  312.                (prompt #memory-prompt)
  313.                (help #memory-help)
  314.                (choices "More than 2MB" "Only 2MB")
  315.                (default 1)
  316.             )
  317.          )
  318.       
  319.          (set #fonts
  320.             (askbool
  321.                (prompt #fonts-prompt)
  322.                (help #fonts-help)
  323.                (choices "Large fonts" "Small fonts")
  324.                (default 0)
  325.             )
  326.          )
  327.       
  328.          (copyfiles
  329.             (source
  330.                (select (+ (* #memory 2) #fonts)
  331.                   "AWeb.prefs_2MB_small"
  332.                   "AWeb.prefs_2MB_large"
  333.                   "AWeb.prefs_small"
  334.                   "AWeb.prefs_large"
  335.                )
  336.             )
  337.             (dest @default-dest)
  338.             (newname "AWeb.prefs")
  339.          )
  340.       
  341.          (if (= #memory 0)
  342.             (makedir
  343.                (tackon @default-dest "T")
  344.             )
  345.          )
  346.       )
  347.    )
  348. )
  349.  
  350. (complete 90)
  351.  
  352. ;(if (= update-aweb 0)
  353. ;    (
  354. ;        (if (exists "Contrib")
  355. ;            (
  356. ;            
  357. ;            (message #contrib)
  358. ;            
  359. ;            (if (askbool (prompt #contrib-obtaingir)
  360. ;                    (help @askbool-help)
  361. ;                    (default 1)
  362. ;                )
  363. ;                (startup "NEWOBTAINGIRPORT"
  364. ;                    (command (cat "Run >NIL: " (tackon @default-dest "Contrib/NewObtainGIRPort/NewObtainGIRPort")))
  365. ;                    (prompt #obtaingir-startup)
  366. ;                    (help #nohelp)
  367. ;                )
  368. ;            )
  369. ;            )
  370. ;        )
  371. ;    )
  372. ;)
  373.  
  374. (complete 100)
  375.  
  376. (run "run >NIL: SYS:Utilities/MultiView README" (prompt #readme))
  377.  
  378. (exit #bye)
  379.